package EjerciciosEnClase.EjercicioImplementacionListas;

/**
* Interfaz que define las operaciones definidas sobre una Lista
*/

public interface Lista<T> {
	/**
	 * post: agrega elemento al final de la lista.
	 */
	public void agregar(T elemento);

	/**
	 * post: agrega elemento en posicion de la lista.
	 */
	public void agregar(int posicion, T elemento);

	/**
	 * post: devuelve el elemento en posicion.
	 */
	public T obtener(int posicion);

	/**
	 * post: retira el elemento de posicion y lo devuelve.
	 */
	public T remover(int posicion);

	/**
	 * post: devuelve la cantidad de elementos que tiene la lista.
	 */
	public int longitud();

	/**
	 * return si la lista contiene o no algún elemento.
	 */
	public boolean estaVacia();

	/**
	 * post: retira todos los elementos de la lista.
	 */
	public void limpiar();
}
